﻿// CmakeGtest.cpp: 定义应用程序的入口点。
//

#include "CmakeGtest.h"
#include <gtest/gtest.h>

// 要测试的函数或类
int Add(int a, int b) {
    return a + b;
}

// 测试用例
TEST(AddTest, PositiveNumbers) {
    EXPECT_EQ(3, Add(2, 2));
    EXPECT_EQ(10, Add(5, 5));
}

TEST(AddTest, NegativeNumbers) {
    EXPECT_EQ(-2, Add(-1, -1));
    EXPECT_EQ(-10, Add(-5, -5));
}

TEST(AddTest, MixedNumbers) {
    EXPECT_EQ(0, Add(-5, 5));
    EXPECT_EQ(7, Add(10, -3));
}

int main(int argc, char** argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}

//在这个例子中，我们定义了一个简单的 Add 函数，它接受两个整数并返回它们的和。然后，我们使用 Google Test 定义了几个测试用例来测试这个函数的行为：
//
//PositiveNumbers 测试用例测试函数对正整数的求和是否正确。
//NegativeNumbers 测试用例测试函数对负整数的求和是否正确。
//MixedNumbers 测试用例测试函数对正负混合整数的求和是否正确。
//每个测试用例中使用了 EXPECT_EQ 宏来断言预期的结果与实际结果是否相等。
//
//最后，在 main 函数中，我们使用::testing::InitGoogleTest(&argc, argv); 初始化 Google Test，并通过 RUN_ALL_TESTS() 运行所有的测试用例。
//
//要运行这个测试代码，你需要先配置好 Google Test 的库，并确保在编译时链接了正确的 Google Test 库文件。